190df50d90b0c3e2f6a79cd0c2dbcaeb63d28456,enterprise/src/java/org/neo4j/impl/nioneo/xa/NeoTransaction.java,NeoTransaction,disconnectRelationship,#RelationshipRecord#,498
Before Change
{
Relationship lockableRel = new LockableRelationship(
rel.getFirstPrevRel() );
lockManager.getWriteLock( lockableRel );
RelationshipRecord prevRel = getRelationshipRecord(
rel.getFirstPrevRel() );
if ( prevRel == null )
{
prevRel = getRelationshipStore().getRecord(
rel.getFirstPrevRel(), readFromBuffer );
addRelationshipRecord( prevRel );
}
if ( prevRel.getFirstNode() == rel.getFirstNode() )
{
prevRel.setFirstNextRel( rel.getFirstNextRel() );
}
else if ( prevRel.getSecondNode() == rel.getFirstNode() )
{
prevRel.setSecondNextRel( rel.getFirstNextRel() );
}
else
{
throw new RuntimeException( prevRel +
" don't match " + rel );
}
addRelationshipLockToTransaction( lockableRel );
}
// update first node next
if ( rel.getFirstNextRel() != Record.NO_NEXT_RELATIONSHIP.intValue() )
After Change
{
Relationship lockableRel = new LockableRelationship(
rel.getFirstNextRel() );
getWriteLock( lockableRel );
RelationshipRecord nextRel = getRelationshipRecord(
rel.getFirstNextRel() );
if ( nextRel == null )